package cn.tedu.m2;

import org.springframework.amqp.core.Queue;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;

import javax.annotation.PostConstruct;

/**
 * @Author wy
 * @Date 2021/3/4 9:15
 * @Version 1.0
 */
@SpringBootApplication
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class,args);
    }
    @Bean
    public Queue taskqueueQueue(){
        //封装队列参数
        //自动配置类会自动发现这个对象并在服务器上创建这个队列
        return new Queue("task_queue");
    }
    //用生产者发送消息
    @Autowired
    Producer p;

    /**
     * spring在完成扫描创建实例 完成所有的依赖注入后
     * 会自动执行@PostConstruct方法
     */
    @PostConstruct
    public void test(){
//        new Thread(new Runnable() {
//            @Override
//            public void run() {
//                //线程中执行的代码
//                p.send();
//            }
//        }).start();

        //lambda 表达式 匿名内部类的简写
        new Thread(() -> p.send()).start();
    }
}
